/*
 * ReclamoDelegate.java
 *
 * Created on 12 de marzo de 2007, 05:56 PM
 *
 * To change this template, choose Tools | Options and locate the template under
 * the Source Creation and Management node. Right-click the template and choose
 * Open. You can then make changes to the template in the Source Editor.
 */

package com.src.computec.radar.reclamos.reclamo.delegate;

import com.src.computec.radar.reclamos.reclamo.dto.BusquedaDto;
import com.src.computec.radar.reclamos.reclamo.dto.EnvioRecomendadoDto;
import com.src.computec.radar.reclamos.reclamo.dto.ReclamoDto;
import com.src.computec.radar.reclamos.reclamo.dto.ReclamoSeguimientoDto;
import com.src.computec.radar.reclamos.reclamo.dto.RespuestaWSDto;
import com.src.computec.radar.reclamos.reclamo.exception.ReclamoException;
import com.src.computec.radar.reclamos.reclamo.helper.ReclamoHelper;
import com.src.computec.radar.services.utilities.dto.DocumentoDto;
import java.util.List;

/**
 *
 * @author aocampo
 */
public class ReclamoDelegate {
    
    ReclamoHelper reclamoHelper;
    
    /** Creates a new instance of ReclamoDelegate */
    public ReclamoDelegate() {
        reclamoHelper = new ReclamoHelper();
    }
    
    public String insertReclamo(ReclamoDto dto) throws ReclamoException {
        return reclamoHelper.insertReclamo(dto);
    }
    
    /**
     * metodo para la insersion de reclamos a traves de web service
     */
    public String[] insertReclamoWebService(DocumentoDto documentoDto, ReclamoDto reclamoDto) throws ReclamoException {
        RespuestaWSDto respuestaWSDto = reclamoHelper.insertReclamoWebService(documentoDto, reclamoDto);
        String[] arrayResponse = new String[4];
        arrayResponse[0] = respuestaWSDto.getCodigoBarras();
        arrayResponse[1] = respuestaWSDto.getCodigoReclamo();
        arrayResponse[2] = respuestaWSDto.getCodigoEstadoWS();
        arrayResponse[3] = respuestaWSDto.getClaveCliente();
        return arrayResponse;
    }
    
    public int calculateAlarmasReclamos() throws ReclamoException {
        return reclamoHelper.calculateAlarmasReclamos();
    }
    
    public int calculateDuracionMovimientosMasivo() throws ReclamoException {
        return reclamoHelper.calculateDuracionMovimientosMasivo();
    }
    
    public ReclamoDto getReclamoByPrimaryKey(String codigoReclamo) throws ReclamoException {
        return reclamoHelper.getReclamoByPrimaryKey(codigoReclamo);
    }
    
    public List getReclamosByBusqueda(BusquedaDto dto) throws ReclamoException {
        return reclamoHelper.getReclamosByBusqueda(dto);
    }
    
    public List getHistoricoReclamacion(ReclamoDto dto) throws ReclamoException {
        return reclamoHelper.getHistoricoReclamacion(dto);
    }
    
    public List getHistoricoEnvios(ReclamoDto dto) throws ReclamoException {
        return reclamoHelper.getHistoricoEnvios(dto);
    }
    
    public List getConsecutivosEnvio(ReclamoDto dto) throws ReclamoException {
        return reclamoHelper.getConsecutivosEnvio(dto);
    }
    
    public List getSeguimientosByReclamo(ReclamoDto dto) throws ReclamoException {
        return reclamoHelper.getSeguimientosByReclamo(dto);
    }
    
    public void insertReclamoSeguimiento(ReclamoSeguimientoDto dto) throws ReclamoException {
        reclamoHelper.insertReclamoSeguimiento(dto);
    }
    
    public List getMovimientosByReclamo(ReclamoDto dto) throws ReclamoException {
        return reclamoHelper.getMovimientosByReclamo(dto);
    }
    
    public void processAction(ReclamoDto dto) throws ReclamoException {
        reclamoHelper.processAction(dto);
    }
    
    public void processActionCerrarReclamo(ReclamoDto dto) throws ReclamoException {
        reclamoHelper.processActionCerrarReclamo(dto);
    }
    
    public boolean insertEnvioRecomendado(EnvioRecomendadoDto dto) throws ReclamoException {
        return reclamoHelper.insertEnvioRecomendado(dto);
    }
    
    public void updateReclamosResponsable(List listCodigosReclamos, String uidResponsable, String uidMovimiento) throws ReclamoException {
        reclamoHelper.updateReclamosResponsable(listCodigosReclamos, uidResponsable, uidMovimiento);
    }
    
    public void exportBitacora(List listReclamos, String ldapUser, int rol) throws ReclamoException {
        reclamoHelper.exportBitacora(listReclamos, ldapUser, rol);
    }
    
    public List getResponsablesReclamo() throws ReclamoException {
        return reclamoHelper.getResponsablesReclamo();
    }
    
    public List getEventosReclamo() throws ReclamoException {
        return reclamoHelper.getEventosReclamo();
    }
    
    public List getRespuestasReclamoByCodigoBarras(String codigoBarras) throws ReclamoException {
        return reclamoHelper.getRespuestasReclamoByCodigoBarras(codigoBarras);
    }
    
    public int updateRespuestasReclamos() throws ReclamoException {
        return reclamoHelper.updateRespuestasReclamos();
    }
}